Skip to content

feat: 회원 프로젝트 멤버 접근 검증 (#156) - #157

Merged
Kohseoyoung merged 1 commit into
mainfrom
feature/156-member-access
Aug 11, 2026
Merged

feat: 회원 프로젝트 멤버 접근 검증 (#156)#157
Kohseoyoung merged 1 commit into
mainfrom
feature/156-member-access

Conversation

@Kohseoyoung

@Kohseoyoung Kohseoyoung commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

🔗 관련 이슈 (Related Issue)

📝 작업 내용

회원이 자신이 속한 프로젝트의 영상에만 피드백/답글을 남기거나 조회할 수 있도록
프로젝트 멤버 검증을 추가했습니다. 기존에 게스트만 있던 접근 검증을 회원까지 대칭화합니다.

  • validateMemberAccess(userId, projectId) 공통 메서드 추가
  • 피드백 작성/수정/삭제/조회에 회원 멤버 검증 적용
  • 답글 작성/수정/삭제/조회에 회원 멤버 검증 적용
  • 회원=프로젝트 멤버, 게스트=공유링크 소유로 접근 검증 대칭화

구현 상세

  • existsByProjectIdAndUserIdAndLeftAtIsNull 활용 (기존 status 변경 검증과 동일)
  • 멤버가 아닌 회원 접근 시 403(FORBIDDEN) 반환
  • 목록 조회는 video 객체가 없어 projectId를 별도 조회 후 검증

테스트

  • ./gradlew clean test 통과 (112 tests)
  • 활동 로그 연동 테스트에 멤버 stub 추가

✅ PR 체크리스트

  • PR 제목은 커밋 컨벤션을 따랐습니다.
  • 관련 이슈를 연결했습니다.
  • 변경 사항에 대한 테스트를 진행했습니다.

Summary by CodeRabbit

  • 버그 수정

    • 프로젝트의 활성 멤버만 피드백과 답글을 생성·조회·수정·삭제할 수 있도록 접근 권한을 강화했습니다.
    • 프로젝트 비멤버의 요청은 권한 없음으로 처리됩니다.
    • 기존 게스트 접근 검증 및 익명 사용자 차단 동작은 유지됩니다.
  • 테스트

    • 프로젝트 멤버 권한 검증을 반영해 피드백 활동 관련 테스트를 보완했습니다.

@Kohseoyoung Kohseoyoung self-assigned this Aug 10, 2026
@Kohseoyoung Kohseoyoung added the feature 새로운 기능 추가 label Aug 10, 2026
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4b618462-5bf6-4335-a3f2-32b8a1ce3490

📥 Commits

Reviewing files that changed from the base of the PR and between e78cf7a and 5d0d03f.

📒 Files selected for processing (3)
  • src/main/java/com/slatto/domain/feedback/service/FeedbackDetailService.java
  • src/main/java/com/slatto/domain/feedback/service/FeedbackService.java
  • src/test/java/com/slatto/domain/feedback/service/FeedbackActivityLogConnectionTest.java

📝 Walkthrough

Walkthrough

회원의 피드백과 답글 작업에 원 영상 프로젝트의 활성 멤버 검증을 추가했습니다. 비회원은 FORBIDDEN 예외를 받습니다. 게스트 접근 검증과 익명 조회 차단은 유지됩니다.

Changes

피드백 및 답글 프로젝트 멤버 접근 제어

Layer / File(s) Summary
회원 멤버십 검증 및 접근 분기
src/main/java/com/slatto/domain/feedback/service/FeedbackService.java, src/main/java/com/slatto/domain/feedback/service/FeedbackDetailService.java
피드백과 답글의 생성, 조회, 수정, 삭제에서 회원의 활성 프로젝트 멤버십을 확인합니다. 비멤버는 FORBIDDEN 예외를 받습니다. 게스트는 기존 공유링크 또는 영상 접근 검증을 사용합니다.
등록 테스트 스텁 갱신
src/test/java/com/slatto/domain/feedback/service/FeedbackActivityLogConnectionTest.java
회원 피드백 및 답글 등록 테스트에 프로젝트 멤버 저장소 스텁을 추가했습니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • SLAT-TO/SLATE-TO-BE#16: 프로젝트 멤버십 모델과 ProjectMemberRepository를 피드백 접근 검증에 사용합니다.
  • SLAT-TO/SLATE-TO-BE#123: 동일한 피드백 서비스와 답글 생성 경로를 수정합니다.

Suggested labels: fix

Suggested reviewers: chazy-d, sangwon02, guingguing

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed 제목이 회원의 프로젝트 멤버 접근 검증이라는 주요 변경 사항을 명확하고 간결하게 설명합니다.
Description check ✅ Passed 관련 이슈, 작업 내용, 구현 상세, 테스트 결과를 포함해 템플릿의 필수 정보를 대부분 충족합니다.
Linked Issues check ✅ Passed [#156]의 공통 검증 메서드, 활성 멤버 검증, 피드백·답글 접근 제어, FORBIDDEN 처리를 구현했습니다.
Out of Scope Changes check ✅ Passed 변경 사항은 피드백·답글의 프로젝트 멤버 접근 검증과 관련 테스트에 한정되어 범위를 벗어난 변경이 없습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chazy-d chazy-d left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

@Kohseoyoung
Kohseoyoung merged commit bafa0e8 into main Aug 11, 2026
2 checks passed
@guingguing
guingguing deleted the feature/156-member-access branch August 12, 2026 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FEAT: 회원 프로젝트 멤버 접근 검증 (피드백/답글)

3 participants